查看原文
其他

学习分布式不得不会的BASE理论 | 文末送书

Hollis Hollis 2019-04-27

eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。


BASE是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency)。

基本可用(Basically Available)

基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用。


电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。

软状态( Soft State)

软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。mysql replication的异步复制也是一种体现。

最终一致性( Eventual Consistency)

最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。

ACID和BASE的区别与联系

ACID是传统数据库常用的设计理念,追求强一致性模型。BASE支持的是大型分布式系统,提出通过牺牲强一致性获得高可用性。


ACID和BASE代表了两种截然相反的设计哲学。


在分布式系统设计的场景中,系统组件对一致性要求是不同的,因此ACID和BASE又会结合使用。

福利时间

七月第4次送书活动,上一次活动地址:当当活动独家优惠码,架构新书免费送 ,今天10点开奖,我会回复中奖者。本次送出技术书籍 6 本。感谢关注Hollis,除了大量原创技术文章推送外,每月还会开展多次送书活动。如果你觉得Hollis对你有帮助,欢迎推荐给你身边的朋友。



书籍介绍


《spring cloud微服务架构开发实战》


1、  新。本书案例基于全新的Spring Boot 2.0及Spring Cloud Finchley.M2,深入浅出地讲解了Spring Cloud。

2、  实战。跳脱纯理论讲述,案例贯穿全书,从0到1搭建微服务系统,从1到0实现微服务拆分。读者不仅能全面学到软件开发技能,还能学到项目实战经验。

3、  全。弥补市面上有关 Spring Cloud学习资料的不足,重新编写整个教学案例,使读者轻松脱离“HelloWorld”阶段,实现对微服务的治理。




Spring Cloud 是开发微服务架构系统的利器,企业对 Spring Cloud 方面的开发需求也非常旺盛。然而,虽然市面上介绍 Spring Cloud 的概念及基础入门的书籍较多,但这些书籍中的案例往往只是停留在简单的“Hello World”级别,缺乏可真正用于实战落地的指导。

 

本书与其他书籍不同,其中一个最大的特色是真正从实战角度出发,运用Spring Cloud 技术来构建一个完整的微服务架构的系统。本书全面介绍 Spring Cloud 的概念、产生的背景,以及围绕 Spring Cloud 在开发微服务架构系统过程中所面临的问题时应当考虑的设计原则和解决方案。

 

本书不仅可以令读者了解微服务架构系统开发的完整流程,而且通过实战结合技术点的归纳,令读者知其然且知其所以然。本书所涉及的技术符合当前主流,并富有一定的前瞻性,可以有效提高读者在市场中的核心竞争力。


参与方式


活动截止时间:7月31日 上午10:00


1、本文下方评论,点赞数排名前6名,获得书籍1本。


微信公众号的精选留言最多只能有100条,我会从所有留言者中筛选部分有意义的留言选择上墙。


你可以说说你最近的学习工作状态、对于Hollis的建议、或者你对Hollis的看法等。“我只想要本书”、“求点赞”之类的留言不会被上墙。


PS:为了避免刷赞,为了给更多人机会,最近两次内获得过点赞送礼的用户无法再次获得。


- MORE | 更多精彩文章 -


如果你看到了这里,说明你喜欢本文。

那么请长按二维码,关注Hollis

转发朋友圈,是对我最大的支持。


来不及等送书的小伙伴们,可以点击阅读原文直接购买。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存